﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using BolsaWeb.Dominio;
using BolsaWeb.Persistencia;
namespace BolsaWeb.Pruebas
{
    [TestFixture]
    public class TestUsuario
    {
        [Test]
        public void crearUsuarioCorrecto()
        {
            Usuario Usuario = new Usuario();
            UsuarioDAO UsuarioDAO = new UsuarioDAO();
            Usuario.Id = 1;
            Usuario.Correo = "postmast@electroperu.com.pe";
            Usuario.Clave = "electro123";
            Usuario.Tipo = Usuario.POSTULANTE;
            Assert.DoesNotThrow(delegate
            {
                UsuarioDAO.Crear(Usuario);
            });
            Assert.Greater(Usuario.Id , 0);
        }
        [Test]
        public void modificarClaveUsuarioCorrecto()
        {
            Usuario Usuario = new Usuario();
            UsuarioDAO UsuarioDAO = new UsuarioDAO();
            Usuario.Id = 1;
            Usuario.Correo = "postmast@electroperu.com.pe";
            Usuario.Clave = "electro123X";
            Usuario.Tipo = Usuario.POSTULANTE;
            Assert.DoesNotThrow(delegate
            {
                UsuarioDAO.Modificar(Usuario);
            });
        }
        /*
         * Validar que no se pueda ingresar  un usuario sin especificar tipo de usuario
         */
        [Test]
        public void crearUsuarioSinTipoUsuario()
        {
            Usuario Usuario = new Usuario();
            UsuarioDAO UsuarioDAO = new UsuarioDAO();
            Usuario.Id = 1;
            Usuario.Correo = "postmast@electroperu.com.pe";
            Usuario.Clave  = "electro123";
            Assert.Catch<Exception>(delegate
            {
                Usuario ro = UsuarioDAO.Crear(Usuario);
            });
        }

        [Test]
        public void buscarUsuarioCorrecto()
        {
            Usuario Usuario = new Usuario();
            UsuarioDAO UsuarioDAO = new UsuarioDAO();
            Usuario = null;
            Assert.DoesNotThrow(delegate
            {
                Usuario = UsuarioDAO.BuscarUsuario("jnevado@comercio.com.pe");
            });
            Assert.NotNull(Usuario);
        }
    }
}
